Controlling roaming behaviors of mobile applications

ABSTRACT

Systems and methods are described herein for controlling the roaming behaviors of mobile applications, such as applications provided by mobile devices. In some embodiments, the systems and methods may determine that a mobile device is connected to a roaming network, and prompt or otherwise cause a user to authorize a mobile application to use the roaming network for sending and receiving data. Other details are provided herein.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/680,170, titled “CONTROLLING ROAMING BEHAVIORS OF MOBILEAPPLICATIONS,” filed Aug. 17, 2017; which is hereby incorporated byreference in its entirety.

BACKGROUND

A telecommunications network is established via a complex arrangementand configuration of many cell sites that are deployed across ageographical area. For example, there may be different types of cellsites (e.g., macro cells, microcells, and so on) positioned in aspecific geographical location (e.g., a city, neighborhood, and so on),in order to provide adequate, reliable coverage for mobile devices(e.g., smart phones, tablets, and so on) via different frequency bandsconfigured to provide different coverage types. The devices may seekaccess to the telecommunications network for various services providedby the network, such as services that facilitate the transmission ofdata over the network and/or provide content to the devices.

Mobile electronic devices (such as smart phones, personal digitalassistants, computer tablets, and so on) are ubiquitous. Mobile devicesprovide advanced computing capabilities and services to users, such asvoice communications, text and other messaging communications, video andother multimedia communications, streaming services, and so on. Often,users, via their mobile devices, access such services as customers orsubscribers of telecommunications carriers, which providetelecommunications networks within which the users make voice calls,send text messages, send and receive data, consume content, and so on.

In some cases, a user may be in a geographical location that is onlyserviced or covered by visitor or roaming networks (e.g., networks otherthan a user's home network), such as when the user is in a foreigncountry or country where the user's home network does not operate.

In order to utilize services provided the visitor network, the mobiledevice accesses the network by roaming, and the network providesservices (e.g., data or voice communications) to the mobile device,despite the mobile device not being connected to its home network.Although such provision of services allows a user to access a network(via the roaming network), the roaming network often charges high feesto utilize the services. A user, therefore, may seek other alternativesto avoid paying the fees to use the roaming network, and/or not usehis/her device at the location, among other drawbacks or inconveniences.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present technology will be described and explainedthrough the use of the accompanying drawings.

FIG. 1 is a block diagram illustrating a suitable computing environmentfor controlling roaming behaviors of mobile applications.

FIG. 2 is a block diagram illustrating components of a mobile device forcontrolling roaming behaviors of mobile applications.

FIG. 3 is a flow diagram illustrating a method for facilitatingselection of an operation mode of a mobile application.

FIGS. 4A-4B are display diagrams illustrating example user interfacespresented by a mobile device at a location associated with a roamingnetwork.

FIGS. 5A-5C are display diagrams illustrating example user interfacespresented by a mobile application for provisioning the mobileapplication.

The drawings have not necessarily been drawn to scale. Similarly, somecomponents and/or operations may be separated into different blocks orcombined into a single block for the purposes of discussion of some ofthe embodiments of the present technology. Moreover, while thetechnology is amenable to various modifications and alternative forms,specific embodiments have been shown by way of example in the drawingsand are described in detail below. The intention, however, is not tolimit the technology to the particular embodiments described. On thecontrary, the technology is intended to cover all modifications,equivalents, and alternatives falling within the scope of the technologyas defined by the appended claims.

DETAILED DESCRIPTION

Systems and methods are described herein for controlling the roamingbehaviors of mobile applications, such as applications running and/orresiding on mobile devices. When a mobile device (and associated user)enters or is at a geographical location, a mobile application receivesnotification of the location. The mobile application determines thelocation is associated with a roaming network (e.g., is not covered by ahome telecommunications network of the mobile device).

The mobile device will often connect to the roaming network (unless theuser turns off a radio of the mobile device). The mobile application,however, utilizing the systems and methods described herein, may notutilize the roaming network for services provided by the network (e.g.,data or voice communications), unless authorization is received from theuser of the mobile device. The systems and methods, therefore,facilitate the control and/or use of a roaming network at the mobileapplication level, to provide users with control of their specificnetwork use, among other benefits.

For example, in some embodiments, the systems and methods facilitateselection of one or more operation modes of the mobile application. Thesystems and methods receive an indication that a mobile devicecontaining the mobile application is at a geographical location outsideof a home telecommunications network that includes a user associatedwith the mobile device as a subscriber of a carrier providing the hometelecommunications network. Next, the systems and methods determine avisitor telecommunications network available to the mobile device at thegeographical location is a roaming network with respect to the visitortelecommunications network providing data or voice communicationservices to the mobile device.

The systems and methods may then cause the mobile device to presentmultiple user-selectable options associated with an operation mode ofthe mobile application. A first option, when selected, causes the mobileapplication to remain online and perform communication operations overthe visitor telecommunications network. A second option, when selected,causes the mobile application to move offline with respect to thevisitor telecommunications network, and adjust the operation mode of themobile application based on input received from the user of a selectionof one of the multiple user-selectable options.

Thus, in some embodiments, the mobile application may include a locationmodule that receives an indication that a mobile device containing themobile application located geographical outside of a user's hometelecommunications network. The mobile application includes a networkmodule that determines a visitor telecommunications network available tothe mobile device at the geographical location is a roaming network thatcan provide data or voice communication services to the mobile device.

Further, the mobile application includes an operation module that causesthe mobile device to present multiple user-selectable options associatedwith an operation mode of the mobile application. The options mayinclude a first option that, when selected, causes the mobileapplication to remain online and perform communication operations overthe visitor telecommunications network, and a second option that, whenselected, causes the mobile application to move offline with respect tothe visitor telecommunications network. The operation module thenadjusts or modifies the operation mode of the mobile application basedon input received from the user of a selection of one of the multipleuser-selectable options.

As another example, the systems and methods may determine that a mobiledevice is connected to a roaming network, and prompt or otherwise causea user to authorize the mobile application to use the roaming networkfor sending and receiving data. Thus, the systems and methods, in someembodiments, proactively request users to authorize a mobileapplication's use of a roaming network before enabling such use. Asdescribed herein, controlling a mobile application's behaviors when anassociated device is connected to a roaming network facilitates userawareness of when they are to be charged for use of the roamingnetwork's services, such as the use of costly data or voice services,among other benefits.

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of embodiments of the present technology. It will beapparent, however, that embodiments of the present technology may bepracticed without some of these specific details.

Examples of Suitable Telecommunications Networks

As described herein, in some embodiments, the systems and methodsfacilitate the control of mobile application behaviors and/orfunctionality when a mobile device (e.g., smart phone, tablet, laptop,and so on) providing the mobile application is connected to a visitor orroaming network. FIG. 1 is a block diagram illustrating a suitablecomputing environment 100 for controlling roaming behaviors of mobileapplications.

A mobile device 110, or user equipment (UE), associated with a user,receives and transmits data, streams content, and/or performs othercommunications or receives services over a telecommunications network120, which is accessed by the mobile device 110 over various accesspoints, such as a cell site 115. For example, a user of the mobiledevice 110 may stream or otherwise receive content via one or moremobile applications 112 provided, supported, and/or otherwise residenton the device 110.

Example applications includes email or other messaging applications,carrier-provided applications (e.g., Digits™ from T-Mobile®) thatintegrate a subscriber's operations over their home network, variousentertainment applications that stream content (e.g., multimediacontent, such as video, images, audio, gaming, and so on) to the device110, voice or video chat applications, social media applications, andother applications that update in the background and/or consumecomparatively large amounts of data.

The cell site 115 may include macro cell sites, such as base stations,small cell sites, such as picocells, microcells, or femtocells, and/orother network access component or sites. The cell site 115 may storedata associated with its operations, including data associated with thenumber of types of connected users, data associated with the provisionand/or utilization of a spectrum, radio band, frequency band, and so on,provided by the cell site 115, and so on.

In some cases, such as when the mobile device is in a foreign country(e.g., a country that is not the home country of the mobile device), themobile device 110 accesses a network 120 provided by a carrier of whichthe user of the mobile device is not a subscriber. In such cases, themobile device 110 roams or otherwise receives communications servicesfrom a roaming or visiting network 130.

For example, a user associated with a U.S. telecommunications networkmay travel to Europe, where a European carrier provides atelecommunications network at a location of the user's mobile device.The European network is the roaming network 130 for the U.S. device. Asanother example, a resident of China travels to Germany for work, andcommunicates over a German network by roaming on the network.

FIG. 1 and the discussion herein provide a brief, general description ofa suitable computing environment 100 in which controlling roamingbehaviors of mobile applications can be supported and implemented.Although not required, aspects of the systems and methods are describedin the general context of computer-executable instructions, such asroutines executed by a general-purpose computer, e.g., mobile device, aserver computer, or personal computer. The system can be practiced withother communications, data processing, or computer systemconfigurations, including: Internet appliances, hand-held devices(including tablet computers and/or personal digital assistants (PDAs)),all manner of cellular or mobile phones, multi-processor systems,microprocessor-based or programmable consumer electronics, set-topboxes, network PCs, mini-computers, mainframe computers, and the like.Indeed, the terms “computer,” “host,” and “host computer,” and “mobiledevice” and “handset” are generally used interchangeably herein, andrefer to any of the above devices and systems, as well as any dataprocessor.

Aspects of the system can be embodied in a special purpose computingdevice or data processor that is specifically programmed, configured, orconstructed to perform one or more of the computer-executableinstructions explained in detail herein. Aspects of the system may alsobe practiced in distributed computing environments where tasks ormodules are performed by remote processing devices, which are linkedthrough a communications network, such as a Local Area Network (LAN),Wide Area Network (WAN), or the Internet. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

Aspects of the system may be stored or distributed on computer-readablemedia (e.g., physical and/or tangible non-transitory computer-readablestorage media), including magnetically or optically readable computerdiscs, hard-wired or preprogrammed chips (e.g., EEPROM semiconductorchips), nanotechnology memory, or other data storage media. Indeed,computer implemented instructions, data structures, screen displays, andother data under aspects of the system may be distributed over theInternet or over other networks (including wireless networks), on apropagated signal on a propagation medium (e.g., an electromagneticwave(s), a sound wave, etc.) over a period of time, or they may beprovided on any analog or digital network (packet switched, circuitswitched, or other scheme). Portions of the system reside on a servercomputer, while corresponding portions reside on a client computer suchas a mobile or portable device, and thus, while certain hardwareplatforms are described herein, aspects of the system are equallyapplicable to nodes on a network. In an alternative embodiment, themobile device or portable device may represent the server portion, whilethe server may represent the client portion.

In some embodiments, the mobile device 110 and/or the cell site 115 mayinclude network communication components that enable the devices tocommunicate with remote servers or other portable electronic devices bytransmitting and receiving wireless signals using a licensed,semi-licensed, or unlicensed spectrum over communications network, suchas network 120. In some cases, the communication network 120 may becomprised of multiple networks, even multiple heterogeneous networks,such as one or more border networks, voice networks, broadband networks,service provider networks, Internet Service Provider (ISP) networks,and/or Public Switched Telephone Networks (PSTNs), interconnected viagateways operable to facilitate communications between and among thevarious networks. The communications network 120 may also includethird-party communications networks such as a Global System for Mobile(GSM) mobile communications network, a code/time division multipleaccess (CDMA/TDMA) mobile communications network, a 3rd or 4thgeneration (3G/4G) mobile communications network (e.g., General PacketRadio Service (GPRS/EGPRS)), Enhanced Data rates for GSM Evolution(EDGE), Universal Mobile Telecommunications System (UMTS), or Long TermEvolution (LTE) network), 5G mobile communications network, IEEE 802.11(WiFi), or other communications network. Thus, the user device isconfigured to operate and switch among multiple frequency bands forreceiving and/or transmitting data.

Examples of Controlling Roaming Behaviors of Mobile Applications

As described herein, a mobile application may include various componentsthat facilitate control of the application's behavior and/orfunctionality when a mobile device is connected to a roaming network(and not a home network). FIG. 2 is a block diagram illustratingcomponents of a mobile device for controlling roaming behaviors ofmobile applications.

The mobile application 112 may include functional modules that areimplemented with a combination of software (e.g., executableinstructions, or computer code) and hardware (e.g., at least a memoryand processor). Accordingly, as used herein, in some examples a moduleis a processor-implemented module or set of code and represents acomputing device having a processor that is at least temporarilyconfigured and/or programmed by executable instructions stored in memoryto perform one or more of the particular functions that are describedherein.

When a user and his/her mobile device 110 enter a foreign country orother geographical location outside of a range or coverage area providedby the user's home telecommunications network, the mobile application112 receives location information from an operating system 210 of themobile device 110.

The operating system 210, for most mobile devices, includes variouslocation services components configured to determine a geographicallocation of a mobile device. For example, the operating system 210 mayobtain location information from various wireless access points to whicha mobile device may communicate (via associated IP addresses, amongother information). As another example, the operating system 210 mayobtain the information from GPS components within the mobile device.

The mobile application 112 receives the geographical location from theoperating system 210, and provides the information to one or moreconfiguration files 220 stored within and/or accessed by the mobileapplication 112. The configuration file 220 may include various tablesor data structures that relate country codes (and other locationidentifiers) to rate plans, roaming charges for various services, textto presented to a user, and so on.

An example configuration file 220 is depicted as follows:

<home_country> <country id=“1” type=“alpha2”>US</country> <countryid=“2” type=“alpha2”>MX</country> <country id=“3”type=“alpha2”>HR</country> <!-- <country id=“3”type=“alpha2”>CA</country> --> </home_country><high_data_charge_countries> <!--These are countries that are not in theSimple Global plan --> <country id=“1” type=“alpha2”>LB</country><country id=“2” type=“alpha2”>LK</country> <country id=“3”type=“alpha2”>ZW</country> <country id=“4” type=“alpha2”>LT</country></high_data_charge_countries> <high_data_charge_warning> <!--Consentwarning for countries that are not in the Simple Global plan --><data_warning><![CDATA[Warning: You are roaming in a country that is notpart of your T-Mobile plan. This Application can consume large amountsof data. Text, Picture messaging, calls, and data syncing all consumethe phones data. This could become extremely expensive. Are you sure youwant to continue?]]></data_warning> </high_data_charge_warning>

Thus, as depicted, the configuration file 220 may include variousinstructions or information, including information that relates acountry code to associated data charges (e.g., normal charges, roamingchanges, high data charge roaming, and so on), to descriptiveinformation to be presented to users, and so on.

Using information provided by the configuration file 220, the mobileapplication 112 may then render and provide information, via a userinterface 230 of the device 110, associated with one or moreuser-selectable options to be presented to the user of the device 110.The options may facilitate the selection of various operation modes ofthe application 112, such as an offline mode, where the application 110does not send or receive data over the roaming network 130.

For example, in offline mode, the mobile application 110 stops anysynchronization or timer operations, because they require communicatingover the roaming network 130 in order to receive updates and other data.Further, the application 110 may then only provide users with pagesdisplayed in read only mode and/or pages that function to providecontent already transmitted to the device 110.

Thus, in some embodiments, a mobile application may utilize locationinformation from the operating system 210 of the mobile device 110 todetermine the device 110 is on a roaming network (e.g., outside of ahome network). Then, the application selectively and/or automaticallyprevents certain operations (e.g., synching, streaming, and so on)normally performed by the mobile application 112, such as operationsperformed in the background, while roaming, until a user authorizes suchfunctionality.

The systems and methods, therefore, performs various operations,methods, or processes for controlling roaming behaviors of mobileapplications connected to a roaming network, such as a network when themobile device 110 is located in a foreign country. FIG. 3 is a flowdiagram illustrating a method 300 for facilitating selection of anoperation mode of a mobile application. The method 300 may be performedby the mobile application 112 and, accordingly, is described hereinmerely by way of reference thereto. It will be appreciated that themethod 300 may be performed on any suitable hardware.

In operation 310, the mobile application 112 receives an indication thatthe mobile device 110 containing the mobile application 112 is at ageographical location outside of a home telecommunications network. Thehome network may include a user associated with the mobile device 110 asa subscriber of a carrier providing the home telecommunications network.The mobile application 112 may receive the information from theoperating system 210 of the mobile device 110.

In operation 320, the mobile application 112 determines a visitortelecommunications network available to the mobile device 110 at thegeographical location is a roaming network with respect to the visitortelecommunications network providing data or voice communicationservices to the mobile device. For example, the mobile application 112may provide the geographical location to a configuration file associatedwith the mobile application, such as the configuration file 220 thatmaps country codes associated with geographical locations to roamingservices providing by roaming networks servicing the geographicallocations, and identifies or determines the visitor telecommunicationsnetwork as the roaming network based on information provided by theconfiguration file.

In operation 330, the mobile application 112 causes a user interface ofthe mobile device to present multiple user-selectable options associatedwith an operation mode of the mobile application. In some cases, theuser-selectable options include:

-   -   a first option that, when selected, causes the mobile        application to remain online and perform communication        operations over the visitor telecommunications network;    -   a second option that, when selected, causes the mobile        application to move offline with respect to the visitor        telecommunications network; and/or    -   a third option that, when selected, causes the mobile        application to initiate a process on behalf of the user to        adjust a subscription to the carrier for the user, where the        adjusted subscription includes a temporary international roaming        service plan that is added to the subscription to the carrier        for the user.

As described herein, when a user selects the second option (or, in somecases, when the application 112 automatically moves offline), theapplication 112 may operate in the offline mode, as follows:

The application 112 may send a signal to the home telecommunicationsnetwork to stop communicating with the mobile application over anynetwork;

The application 112 may stop performing syncing operations over anetwork or performing timing operations over a network;

The application 112 may only present read only pages to the user thatwere previously rendered by the mobile application and/or only providecontent already stored by the device 110; and so on.

When presenting the options to the user to authorize use of the mobileapplication 112 over the roaming network 130, the application 112 maypresent different types or information to the user, such as priceinformation associated with the mobile device receiving data over theroaming network 130, rate plan information associated with adding aroaming rate plan to the user's telecommunications subscription, and soon.

FIGS. 4A-4B are display diagrams illustrating example user interfacespresented by a mobile device at a location associated with a roamingnetwork. FIG. 4A depicts a home screen 400 of the mobile device 110.When the mobile device 110 is connected to the roaming network 130 orotherwise located outside of a home telecommunications network, theapplication 112, via the home screen, presents a roaming notification410 that indicates use of the application 112 will lead to roamingcharges.

FIG. 4B depicts an “in app” mode interface 420, where a user isutilizing or launches the mobile application 112 while connected to theroaming network 130. As shown, once the application 112 is launched, theapplication 112 presents a notification, along with varioususer-selectable options, that provide information regarding use of theroaming network 130 and facilitate the user selection an option 434 tocontinue use of the application while roaming and/or an option 432 tomove to offline mode. Of course, the mobile application 112 may presentother information or interface elements configured to inform users theyare roaming and facilitate user control of the operation mode of themobile application.

Returning to FIG. 3, in operation 340, the mobile application 112adjusts or modifies the operation mode of the mobile application 112based on input received from the user of a selection of one of themultiple user-selectable options.

In some embodiments, the mobile application 112, may receive anindication that the mobile device 110 has moved to a geographicallocation serviced by the home telecommunications network, and readjustor modify the operation mode of the mobile application 112 back to ahome network operation mode (e.g., where all services are provided viathe application).

Thus, as described herein, the systems and methods determine that amobile device is connected to a roaming network, and prompt or otherwisecause a user to authorize the mobile application to use the roamingnetwork for sending and receiving data, before continuing use of theapplication. As described herein, various different applications, inaddition to carrier or network-associated applications, may provide suchfunctionality.

The installation of an application, and various use cases associatedwith an application, will now be described. FIGS. 5A-5C are displaydiagrams illustrating example user interfaces presented by a mobileapplication for provisioning the mobile application.

As depicted in user interfaces 500 and 510 of FIGS. 5A and 5B,respectively, when a user logs in, the application 112 fetches locationinformation and a configuration file (which provides country codes in ahome country field). If the country is Home, the application launches asnormal. If the country is not a home country, the application presentsinterface 520 of FIG. 5C, which presents user-selectable options, asdescribed herein.

When a user is logged in and outside of the application, the applicationshows a local notification of roaming, receiving the notification textfrom the configuration file 220. Once a user clicks on the notification,the application causes display of a pop-up element having varioususer-selectable options, including additional text from theconfiguration file 220.

As described herein, when the user selects offline mode, the application112 goes offline, by stopping some or all signaling, and only providingread only views of presented screens or pages. When the user selectscontinue, the application 112 performs normal operation.

When a user is within the application 112, the application 112 presentsthe pop-up element upon detection of a different, non-home location orcountry, and continues operation based on user selections describedherein.

When a user is within an application and the application is in anoffline mode, the application may be running a timer associated with acheck or review of whether the device has moved back to a home network.When the timer expires, the application checks a current location byretrieving location information from the operating system 210, andproceeds as describe herein.

The mobile application 112, therefore, may automatically monitor itslocation, even in offline mode, in order to switch between operationmodes as the mobile device moves between home and foreign countries,among other benefits.

CONCLUSION

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” As used herein, the terms “connected,”“coupled,” or any variant thereof means any connection or coupling,either direct or indirect, between two or more elements; the coupling orconnection between the elements can be physical, logical, or acombination thereof. Additionally, the words “herein,” “above,” “below,”and words of similar import, when used in this application, refer tothis application as a whole and not to any particular portions of thisapplication. Where the context permits, words in the above DetailedDescription using the singular or plural number may also include theplural or singular number respectively. The word “or,” in reference to alist of two or more items, covers all of the following interpretationsof the word: any of the items in the list, all of the items in the list,and any combination of the items in the list.

As used herein, being above a threshold means that a value for an itemunder comparison is above a specified other value, that an item undercomparison is among a certain specified number of items with the largestvalue, or that an item under comparison has a value within a specifiedtop percentage value. As used herein, being below a threshold means thata value for an item under comparison is below a specified other value,that an item under comparison is among a certain specified number ofitems with the smallest value, or that an item under comparison has avalue within a specified bottom percentage value. As used herein, beingwithin a threshold means that a value for an item under comparison isbetween two specified other values, that an item under comparison isamong a middle specified number of items, or that an item undercomparison has a value within a middle specified percentage range.

The above Detailed Description of examples of the technology is notintended to be exhaustive or to limit the technology to the precise formdisclosed above. While specific examples for the technology aredescribed above for illustrative purposes, various equivalentmodifications are possible within the scope of the technology. Forexample, while processes or blocks are presented in a given order,alternative implementations may perform routines having steps, or employsystems having blocks, in a different order, and some processes orblocks may be deleted, moved, added, subdivided, combined, and/ormodified to provide alternative or sub-combinations. Each of theseprocesses or blocks may be implemented in a variety of different ways.Also, while processes or blocks are at times shown as being performed inseries, these processes or blocks may instead be performed orimplemented in parallel, or may be performed at different times. Furtherany specific numbers noted herein are only examples: alternativeimplementations may employ differing values or ranges.

The teachings of the technology provided herein can be applied to othersystems, not necessarily the system described above. The elements andacts of the various examples described above can be combined to providefurther implementations of the technology. Some alternativeimplementations of the technology may include not only additionalelements to those implementations noted above, but also may includefewer elements.

These and other changes can be made to the technology in light of theabove Detailed Description. While the above description describescertain examples of the technology, and describes the best modecontemplated, no matter how detailed the above appears in text, thetechnology can be practiced in many ways. Details of the system may varyconsiderably in its specific implementation, while still beingencompassed by the technology disclosed herein. As noted above,particular terminology used when describing certain features or aspectsof the technology should not be taken to imply that the terminology isbeing redefined herein to be restricted to any specific characteristics,features, or aspects of the technology with which that terminology isassociated. In general, the terms used in the following claims shouldnot be construed to limit the technology to the specific examplesdisclosed in the specification, unless the above Detailed Descriptionsection explicitly defines such terms. Accordingly, the actual scope ofthe technology encompasses not only the disclosed examples, but also allequivalent ways of practicing or implementing the technology under theclaims.

To reduce the number of claims, certain aspects of the technology arepresented below in certain claim forms, but the applicant contemplatesthe various aspects of the technology in any number of claim forms. Forexample, while only one aspect of the technology is recited as acomputer-readable medium claim, other aspects may likewise be embodiedas a computer-readable medium claim, or in other forms, such as beingembodied in a means-plus-function claim. Any claims intended to betreated under 35 U.S.C. § 112(f) will begin with the words “means for”,but use of the term “for” in any other context is not intended to invoketreatment under 35 U.S.C. § 112(f). Accordingly, the applicant reservesthe right to pursue additional claims after filing this application topursue such additional claim forms, in either this application or in acontinuing application.

What is claimed is:
 1. At least one non-transitory, computer-readablemedium, carrying instructions, which when executed by at least one dataprocessor, performs operations to facilitate selection of at least oneoperation mode of a mobile application on a mobile device, theoperations comprising: receiving an indication that the mobile device isconnectable to a roaming telecommunications network, wherein the roamingtelecommunications network is capable of providing data or voicecommunication services to the mobile device; causing the mobile deviceto present at least one user-selectable option associated with anoperation mode of the mobile application after receiving the indicationthat the mobile device is connectable to the roaming telecommunicationsnetwork, wherein the at least one user-selectable option includes: anoption that, when selected, causes the mobile application to (i) moveoffline with respect to the roaming telecommunications network, or (ii)prevent the mobile application from performing syncing or timingoperations over the roaming telecommunications network; and adjustingthe operation mode of the mobile application based on input received toselect the at least one user-selectable option.
 2. The computer-readablemedium of claim 1, further comprising: receiving an indication that themobile device has moved to a geographical location serviced by a hometelecommunications network for the mobile device; and re-adjusting theoperation mode of the mobile application to a home network operationmode.
 3. The computer-readable medium of claim 1, further comprisingreceiving, from an operating system of the mobile device, an indicationof a geographical location; and providing the geographical location to aconfiguration file associated with the mobile application, wherein theconfiguration file maps country codes associated with geographicallocations to roaming services providing by roaming networks servicingthe geographical locations; and identifying the roamingtelecommunications network based on information provided by theconfiguration file.
 4. The computer-readable medium of claim 1, whereinthe least one user-selectable option includes another option that, whenselected, causes the mobile application to initiate a process to adjusta subscription to a carrier for the mobile device, wherein the adjustedsubscription includes a temporary international roaming service planthat is added to the subscription to the carrier for the mobile device.5. The computer-readable medium of claim 1, further comprisingpresenting price information associated with the mobile device receivingdata over the roaming telecommunications network.
 6. Thecomputer-readable medium of claim 1, wherein the mobile application isan application associated with a carrier providing a hometelecommunications network for the mobile device.
 7. Thecomputer-readable medium of claim 1, wherein the mobile applicationprovides multimedia content streamed over a network to the mobiledevice.
 8. The computer-readable medium of claim 1, wherein the optioncauses the mobile application to move into an offline mode by sending asignal to a home telecommunications network to stop communicating withthe mobile application.
 9. The computer-readable medium of claim 1,wherein the option causes the mobile application to move into an offlinemode that enables the mobile application to only present read only pagesto the user that were previously rendered by the mobile application. 10.A computer-executable method that facilitates selection of one or moreoperation modes of a mobile application, the method comprising:receiving an indication that a mobile device is connectable to a roamingtelecommunications network, wherein the roaming telecommunicationsnetwork is capable of providing data or voice communication services tothe mobile device; causing the mobile device to present at least oneuser-selectable option associated with an operation mode of the mobileapplication after receiving the indication that the mobile device isconnectable to the roaming telecommunications network, wherein the atleast one user-selectable option includes: an option that, whenselected, causes the mobile application to (i) move offline with respectto the roaming telecommunications network, or (ii) prevent the mobileapplication from performing syncing or timing operations over theroaming telecommunications network; and adjusting the operation mode ofthe mobile application based on input received to select the at leastone user-selectable option.
 11. The method of claim 10, furthercomprising receiving an indication that the mobile device has moved to ageographical location serviced by a home telecommunications network forthe mobile device; and re-adjusting the operation mode of the mobileapplication to a home network operation mode.
 12. The method of claim10, further comprising: receiving, from an operating system of themobile device, an indication of a geographical location; and providingthe geographical location to a configuration file associated with themobile application, wherein the configuration file maps country codesassociated with geographical locations to roaming services providing byroaming networks servicing the geographical locations; and identifyingthe roaming telecommunications network based on information provided bythe configuration file
 13. The method of claim 10, wherein the least oneuser-selectable option includes another option that, when selected,causes the mobile application to initiate a process to adjust asubscription to a carrier for the mobile device, and wherein theadjusted subscription includes a temporary international roaming serviceplan that is added to the subscription to the carrier for the mobiledevice.
 14. The method of claim 10, wherein the mobile application is anapplication associated with a carrier providing a hometelecommunications network for the mobile device.
 15. The method ofclaim 10, wherein the mobile application provides multimedia contentstreamed over a network to the mobile device.
 16. The method of claim10, wherein the option causes the mobile application to move into anoffline mode that enables the mobile application to only present readonly pages to the user that were previously rendered by the mobileapplication.
 17. A system to cause a mobile application to adjustoperations, the system comprising: at least one memory carryinginstructions; at least one hardware processor, coupled to the memory andexecuting the instructions, the instructions comprising: receiving anindication that a mobile device is connectable to a roamingtelecommunications network, wherein the roaming telecommunicationsnetwork is capable of providing data or voice communication services tothe mobile device; causing the mobile device to present at least oneuser-selectable option associated with an operation mode of the mobileapplication after receiving the indication that the mobile device isconnectable to the roaming telecommunications network, wherein the atleast one user-selectable option includes: an option that, whenselected, causes the mobile application to (i) move offline with respectto the roaming telecommunications network, or (ii) prevent the mobileapplication from performing syncing or timing operations over theroaming telecommunications network; and adjusting the operation mode ofthe mobile application based on input received to select the at leastone user-selectable option.
 18. The system of claim 17, wherein themobile application is an application associated with a carrier providinga home telecommunications network for the mobile device.
 19. The systemof claim 17, wherein the roaming network is an international networkproviding communications services to the mobile device.